<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Multidisciplinary design optimization</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Multidisciplinary_design_optimization"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Multidisciplinary_design_optimization rootpage-Multidisciplinary_design_optimization skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Multidisciplinary design optimization</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p><b>Multi-disciplinary design optimization</b> (<b>MDO</b>) is a field of <a href="Engineering" title="Engineering">engineering</a> that uses <a href="Optimization_(mathematics)" class="mw-redirect" title="Optimization (mathematics)">optimization</a> methods to solve <a href="Design" title="Design">design</a> problems incorporating a number of disciplines. It is also known as <b>multidisciplinary system design optimization</b> (<b>MSDO</b>), and <b>multidisciplinary design analysis and optimization</b> (<b>MDAO</b>).
</p><p>MDO allows designers to incorporate all relevant disciplines simultaneously. The optimum of the simultaneous problem is superior to the design found by optimizing each discipline sequentially, since it can exploit the interactions between the disciplines. However, including all disciplines simultaneously significantly increases the <a href="Computational_complexity_theory" title="Computational complexity theory">complexity</a> of the problem.
</p><p>These techniques have been used in a number of fields, including <a href="Automobile" class="mw-redirect" title="Automobile">automobile</a> design, <a href="Naval_architecture" title="Naval architecture">naval architecture</a>, <a href="Electronics" title="Electronics">electronics</a>, <a href="Architecture" title="Architecture">architecture</a>, <a href="Computer" title="Computer">computers</a>, and <a href="Electricity_distribution" class="mw-redirect" title="Electricity distribution">electricity distribution</a>. However, the largest number of applications have been in the field of <a href="Aerospace_engineering" title="Aerospace engineering">aerospace engineering</a>, such as <a href="Aircraft" title="Aircraft">aircraft</a> and <a href="Spacecraft" title="Spacecraft">spacecraft</a> design. For example, the proposed <a href="Boeing" title="Boeing">Boeing</a> <a href="Blended_wing_body" title="Blended wing body">blended wing body</a> (BWB) aircraft concept has used MDO extensively in the conceptual and preliminary design stages. The disciplines considered in the BWB design are <a href="Aerodynamics" title="Aerodynamics">aerodynamics</a>, <a href="Structural_analysis" title="Structural analysis">structural analysis</a>, <a href="Air_propulsion" class="mw-redirect" title="Air propulsion">propulsion</a>, <a href="Control_theory" title="Control theory">control theory</a>, and <a href="Economics" title="Economics">economics</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Traditionally engineering has normally been performed by teams, each with expertise in a specific discipline, such as aerodynamics or structures. Each team would use its members' experience and judgement to develop a workable design, usually sequentially. For example, the aerodynamics experts would outline the shape of the body, and the structural experts would be expected to fit their design within the shape specified. The goals of the teams were generally performance-related, such as maximum speed, minimum <a href="Drag_(physics)" title="Drag (physics)">drag</a>, or minimum structural weight.
</p><p>Between 1970 and 1990, two major developments in the aircraft industry changed the approach of aircraft design engineers to their design problems. The first was <a href="Computer-aided_design" title="Computer-aided design">computer-aided design</a>, which allowed designers to quickly modify and analyse their designs. The second was changes in the procurement policy of most <a href="Airline" title="Airline">airlines</a> and military organizations, particularly the <a href="Military_of_the_United_States" class="mw-redirect" title="Military of the United States">military of the United States</a>, from a performance-centred approach to one that emphasized <a href="Product_lifecycle_management" class="mw-redirect" title="Product lifecycle management">lifecycle</a> cost issues. This led to an increased concentration on economic factors and the attributes known as the "<a href="Ilities" class="mw-redirect" title="Ilities">ilities</a>" including <a href="Manufacturability" class="mw-redirect" title="Manufacturability">manufacturability</a>, <a href="Reliability_(engineering)" class="mw-redirect" title="Reliability (engineering)">reliability</a>, <a href="Maintainability" title="Maintainability">maintainability</a>, etc.
</p><p>Since 1990, the techniques have expanded to other industries. Globalization has resulted in more distributed, decentralized design teams. The high-performance <a href="Personal_computer" title="Personal computer">personal computer</a> has largely replaced the centralized <a href="Supercomputer" title="Supercomputer">supercomputer</a> and the <a href="Internet" title="Internet">Internet</a> and <a href="Local_area_network" title="Local area network">local area networks</a> have facilitated sharing of design information. Disciplinary design software in many disciplines (such as <a href="OptiStruct" class="mw-redirect" title="OptiStruct">OptiStruct</a> or <a href="NASTRAN" class="mw-redirect" title="NASTRAN">NASTRAN</a>, a <a href="Finite_element_analysis" class="mw-redirect" title="Finite element analysis">finite element analysis</a> program for structural design) have become very mature. In addition, many optimization algorithms, in particular the population-based algorithms, have advanced significantly.
</p>
<div class="mw-heading mw-heading3"><h3 id="Origins_in_structural_optimization">Origins in structural optimization</h3></div>
<p>Whereas optimization methods are nearly as old as <a href="Calculus" title="Calculus">calculus</a>, dating back to <a href="Isaac_Newton" title="Isaac Newton">Isaac Newton</a>, <a href="Leonhard_Euler" title="Leonhard Euler">Leonhard Euler</a>, <a href="Daniel_Bernoulli" title="Daniel Bernoulli">Daniel Bernoulli</a>, and <a href="Joseph_Louis_Lagrange" class="mw-redirect" title="Joseph Louis Lagrange">Joseph Louis Lagrange</a>, who used them to solve problems such as the shape of the <a href="Catenary" title="Catenary">catenary</a> curve, numerical optimization reached prominence in the digital age. Its systematic application to structural design dates to its advocacy by Schmit in 1960.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> The success of structural optimization in the 1970s motivated the emergence of multidisciplinary design optimization (MDO) in the 1980s. Jaroslaw Sobieski championed decomposition methods specifically designed for MDO applications.<sup id="cite_ref-martins2013_3-0" class="reference"><a href="#cite_note-martins2013-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The following synopsis focuses on optimization methods for MDO. First, the popular gradient-based methods used by the early structural optimization and MDO community are reviewed. Then those methods developed in the last dozen years are summarized.
</p>
<div class="mw-heading mw-heading3"><h3 id="Gradient-based_methods">Gradient-based methods</h3></div>
<p>There were two schools of structural optimization practitioners using <a href="Gradient" title="Gradient">gradient</a>-based methods during the 1960s and 1970s: optimality criteria and <a href="Mathematical_optimization" title="Mathematical optimization">mathematical programming</a>. The optimality criteria school derived recursive formulas based on the <a href="Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions" title="Karush–Kuhn–Tucker conditions">Karush–Kuhn–Tucker (KKT) necessary conditions</a> for an optimal design. The KKT conditions were applied to classes of structural problems such as minimum weight design with constraints on stresses, displacements, buckling, or frequencies [Rozvany, Berke, Venkayya, Khot, et al.] to derive resizing expressions particular to each class. The mathematical programming school employed classical gradient-based methods to structural optimization problems. The method of usable feasible directions, Rosen's gradient projection (generalized reduce gradient) method, sequential unconstrained minimization techniques, sequential linear programming and eventually sequential quadratic programming methods were common choices. Schittkowski et al. reviewed the methods current by the early 1990s.
</p><p>The gradient methods unique to the MDO community derive from the combination of optimality criteria with math programming, first recognized in the seminal work of Fleury and Schmit who constructed a framework of approximation concepts for structural optimization. They recognized that optimality criteria were so successful for stress and displacement constraints, because that approach amounted to solving the dual problem for <a href="Lagrange_multipliers" class="mw-redirect" title="Lagrange multipliers">Lagrange multipliers</a> using linear <a href="Taylor_series" title="Taylor series">Taylor series</a> approximations in the reciprocal design space. In combination with other techniques to improve efficiency, such as constraint deletion, regionalization, and design variable linking, they succeeded in uniting the work of both schools. This approximation concepts based approach forms the basis of the optimization modules in modern structural design software.
</p><p>Approximations for structural optimization were initiated by the reciprocal approximation Schmit and Miura for stress and displacement response functions. Other intermediate variables were employed for plates. Combining linear and reciprocal variables, Starnes and Haftka developed a conservative approximation to improve buckling approximations. Fadel chose an appropriate intermediate design variable for each function based on a gradient matching condition for the previous point. Vanderplaats initiated a second generation of high quality approximations when he developed the force approximation as an intermediate response approximation to improve the approximation of stress constraints. Canfield developed a <a href="Rayleigh_quotient" title="Rayleigh quotient">Rayleigh quotient</a> approximation to improve the accuracy of eigenvalue approximations. Barthelemy and Haftka published a comprehensive review of approximations in 1993.
</p>
<div class="mw-heading mw-heading3"><h3 id="Non-gradient-based_methods">Non-gradient-based methods</h3></div>
<p>In recent years, non-gradient-based evolutionary methods including <a href="Genetic_algorithm" title="Genetic algorithm">genetic algorithms</a>, <a href="Simulated_annealing" title="Simulated annealing">simulated annealing</a>, and <a href="Ant_colony_optimization_algorithms" title="Ant colony optimization algorithms">ant colony algorithms</a> came into existence. At present, many researchers are striving to arrive at a consensus regarding the best modes and methods for complex problems like impact damage, dynamic failure, and <a href="Real-time_analyzer" title="Real-time analyzer">real-time analyses</a>. For this purpose, researchers often employ multiobjective and multicriteria design methods.
</p>
<div class="mw-heading mw-heading3"><h3 id="Recent_MDO_methods">Recent MDO methods</h3></div>
<p>MDO practitioners have investigated <a href="Optimization_(mathematics)" class="mw-redirect" title="Optimization (mathematics)">optimization</a> methods in several broad areas in the last dozen years. These include decomposition methods, <a href="Approximation" title="Approximation">approximation</a> methods, <a href="Evolutionary_algorithm" title="Evolutionary algorithm">evolutionary algorithms</a>, <a href="Memetic_algorithm" title="Memetic algorithm">memetic algorithms</a>, <a href="Response_surface_methodology" title="Response surface methodology">response surface methodology</a>, reliability-based optimization, and <a href="Multi-objective_optimization" title="Multi-objective optimization">multi-objective optimization</a> approaches.
</p><p>The exploration of decomposition methods has continued in the last dozen years with the development and comparison of a number of approaches, classified variously as hierarchic and non hierarchic, or collaborative and non collaborative.
Approximation methods spanned a diverse set of approaches, including the development of approximations based on <a href="Surrogate_model" title="Surrogate model">surrogate models</a> (often referred to as metamodels), variable fidelity models, and trust region management strategies. The development of multipoint approximations blurred the distinction with response surface methods. Some of the most popular methods include <a href="Kriging" title="Kriging">Kriging</a> and the <a href="Moving_least_squares" title="Moving least squares">moving least squares</a> method.
</p><p><a href="Response_surface_methodology" title="Response surface methodology">Response surface methodology</a>, developed extensively by the statistical community, received much attention in the MDO community in the last dozen years. A driving force for their use has been the development of massively parallel systems for high performance computing, which are naturally suited to distributing the function evaluations from multiple disciplines that are required for the construction of response surfaces. Distributed processing is particularly suited to the design process of complex systems in which analysis of different disciplines may be accomplished naturally on different computing platforms and even by different teams.
</p><p>Evolutionary methods led the way in the exploration of non-gradient methods for MDO applications. They also have benefited from the availability of massively parallel high performance computers, since they inherently require many more function evaluations than gradient-based methods. Their primary benefit lies in their ability to handle discrete design variables and the potential to find globally optimal solutions.
</p><p>Reliability-based optimization (RBO) is a growing area of interest in MDO. Like response surface methods and evolutionary algorithms, RBO benefits from parallel computation, because the numeric integration to calculate the probability of failure requires many function evaluations. One of the first approaches employed approximation concepts to integrate the probability of failure. The classical first-order reliability method (FORM) and second-order reliability method (SORM) are still popular. Professor Ramana Grandhi used appropriate normalized variables about the most probable point of failure, found by a two-point adaptive nonlinear approximation to improve the accuracy and efficiency. <a href="Southwest_Research_Institute" title="Southwest Research Institute">Southwest Research Institute</a> has figured prominently in the development of RBO, implementing state-of-the-art reliability methods in commercial software. RBO has reached sufficient maturity to appear in commercial structural analysis programs like Altair's <a href="OptiStruct" class="mw-redirect" title="OptiStruct">Optistruct</a> and MSC's <a href="Nastran" title="Nastran">Nastran</a>.
</p><p>Utility-based probability maximization was developed in response to some logical concerns (e.g., Blau's Dilemma) with reliability-based design optimization.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> This approach focuses on maximizing the joint probability of both the objective function exceeding some value and of all the constraints being satisfied. When there is no objective function, utility-based probability maximization reduces to a probability-maximization problem. When there are no uncertainties in the constraints, it reduces to a constrained utility-maximization problem. (This second equivalence arises because the utility of a function can always be written as the probability of that function exceeding some random variable). Because it changes the constrained optimization problem associated with reliability-based optimization into an unconstrained optimization problem, it often leads to computationally more tractable problem formulations.
</p><p>In the marketing field there is a huge literature about optimal design for multiattribute products and services, based on experimental analysis to estimate models of consumers' utility functions. These methods are known as <a href="Conjoint_analysis" title="Conjoint analysis">Conjoint Analysis</a>. Respondents are presented with alternative products, measuring preferences about the alternatives using a variety of scales and the utility function is estimated with different methods (varying from regression and surface response methods to choice models). The best design is formulated after estimating the model. The experimental design is usually optimized to minimize the variance of the estimators. These methods are widely used in practice.
</p>
<div class="mw-heading mw-heading2"><h2 id="Problem_formulation">Problem formulation</h2></div>
<p>Problem formulation is normally the most difficult part of the process. It is the selection of design variables, constraints, objectives, and models of the disciplines. A further consideration is the strength and breadth of the interdisciplinary coupling in the problem.<sup id="cite_ref-edo2021_5-0" class="reference"><a href="#cite_note-edo2021-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Design_variables">Design variables</h3></div>
<p>A design variable is a specification that is controllable from the point of view of the designer. For instance, the thickness of a structural member can be considered a design variable. Another might be the choice of material. Design variables can be continuous (such as a wing span), discrete (such as the number of ribs in a wing), or Boolean (such as whether to build a monoplane or a <a href="Biplane" title="Biplane">biplane</a>). Design problems with continuous variables are normally solved more easily.
</p><p>Design variables are often bounded, that is, they often have maximum and minimum values. Depending on the solution method, these bounds can be treated as constraints or separately.
</p><p>One of the important variables that needs to be accounted is an uncertainty. Uncertainty, often referred to as epistemic uncertainty, arises due to lack of knowledge or incomplete information. Uncertainty is essentially unknown variable but it may causes the failure of system.
</p>
<div class="mw-heading mw-heading3"><h3 id="Constraints">Constraints</h3></div>
<p>A constraint is a condition that must be satisfied in order for the design to be feasible. An example of a constraint in aircraft design is that the <a href="Lift_(force)" title="Lift (force)">lift</a> generated by a wing must be equal to the weight of the aircraft. In addition to physical laws, constraints can reflect resource limitations, user requirements, or bounds on the validity of the analysis models. Constraints can be used explicitly by the solution algorithm or can be incorporated into the objective using <a href="Lagrange_multiplier" title="Lagrange multiplier">Lagrange multipliers</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Objectives">Objectives</h3></div>
<p>An objective is a numerical value that is to be maximized or minimized. For example, a designer may wish to maximize profit or minimize weight. Many solution methods work only with single objectives. When using these methods, the designer normally weights the various objectives and sums them to form a single objective. Other methods allow multiobjective optimization, such as the calculation of a <a href="Pareto_efficiency" title="Pareto efficiency">Pareto front</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Models">Models</h3></div>
<p>The designer must also choose models to relate the constraints and the objectives to the design variables. These models are dependent on the discipline involved. They may be empirical models, such as a <a href="Regression_analysis" title="Regression analysis">regression analysis</a> of aircraft prices, theoretical models, such as from <a href="Computational_fluid_dynamics" title="Computational fluid dynamics">computational fluid dynamics</a>, or reduced-order models of either of these. In choosing the models the designer must trade off fidelity with analysis time.
</p><p>The multidisciplinary nature of most design problems complicates model choice and implementation. Often several iterations are necessary between the disciplines in order to find the values of the objectives and constraints. As an example, the aerodynamic loads on a wing affect the structural deformation of the wing. The structural deformation in turn changes the shape of the wing and the aerodynamic loads. Therefore, in analysing a wing, the aerodynamic and structural analyses must be run a number of times in turn until the loads and deformation converge.
</p>
<div class="mw-heading mw-heading3"><h3 id="Standard_form">Standard form</h3></div>
<p>Once the design variables, constraints, objectives, and the relationships between them have been chosen, the problem can be expressed in the following form:
</p>
<dl><dd>find <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} }</annotation>
</semantics>
</math></span><img src="./32adf004df5eb0a8c7fd8c0b6b7405183c5a5ef2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {x} }" loading="lazy"></span> that minimizes <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle J(\mathbf {x} )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>J</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle J(\mathbf {x} )}</annotation>
</semantics>
</math></span><img src="./c7c54c83c82ca4352a4b991a2b520016a634e794.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.692ex; height:2.843ex;" alt="{\displaystyle J(\mathbf {x} )}" loading="lazy"></span> subject to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {g} (\mathbf {x} )\leq \mathbf {0} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">g</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>≤<!-- ≤ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mn mathvariant="bold">0</mn>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {g} (\mathbf {x} )\leq \mathbf {0} }</annotation>
</semantics>
</math></span><img src="./038970de7da4930c9a63001a514facb5ab25e0cf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.992ex; height:2.843ex;" alt="{\displaystyle \mathbf {g} (\mathbf {x} )\leq \mathbf {0} }" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} (\mathbf {x} )=\mathbf {0} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn mathvariant="bold">0</mn>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} (\mathbf {x} )=\mathbf {0} }</annotation>
</semantics>
</math></span><img src="./340160da19e97a8f5f38666b16ad4a56300ab147.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.141ex; height:2.843ex;" alt="{\displaystyle \mathbf {h} (\mathbf {x} )=\mathbf {0} }" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} _{lb}\leq \mathbf {x} \leq \mathbf {x} _{ub}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
<mi>b</mi>
</mrow>
</msub>
<mo>≤<!-- ≤ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo>≤<!-- ≤ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>u</mi>
<mi>b</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} _{lb}\leq \mathbf {x} \leq \mathbf {x} _{ub}}</annotation>
</semantics>
</math></span><img src="./ef6380126c6019b85dfc2daf5805aa2b4e978fbf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:13.736ex; height:2.343ex;" alt="{\displaystyle \mathbf {x} _{lb}\leq \mathbf {x} \leq \mathbf {x} _{ub}}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle J}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>J</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle J}</annotation>
</semantics>
</math></span><img src="./359e4f407b49910e02c27c2f52e87a36cd74c053.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.471ex; height:2.176ex;" alt="{\displaystyle J}" loading="lazy"></span> is an objective, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} }</annotation>
</semantics>
</math></span><img src="./32adf004df5eb0a8c7fd8c0b6b7405183c5a5ef2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {x} }" loading="lazy"></span> is a <a href="Vector_(geometric)" class="mw-redirect" title="Vector (geometric)">vector</a> of design variables, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {g} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">g</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {g} }</annotation>
</semantics>
</math></span><img src="./8cdf843789e9564a867aee3ff184453b72ecbafe.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.337ex; height:2.009ex;" alt="{\displaystyle \mathbf {g} }" loading="lazy"></span> is a vector of inequality constraints, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} }</annotation>
</semantics>
</math></span><img src="./1fce1c8de3a01ae39379db83781850619c4c0987.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.485ex; height:2.176ex;" alt="{\displaystyle \mathbf {h} }" loading="lazy"></span> is a vector of equality constraints, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} _{lb}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
<mi>b</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} _{lb}}</annotation>
</semantics>
</math></span><img src="./8d379915c20a0d60b5877e4bce4accbb9f92323c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.839ex; height:2.009ex;" alt="{\displaystyle \mathbf {x} _{lb}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} _{ub}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>u</mi>
<mi>b</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} _{ub}}</annotation>
</semantics>
</math></span><img src="./80c3c2b2b2a9a5f89a794713c4d199c45e61a9ac.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.289ex; height:2.009ex;" alt="{\displaystyle \mathbf {x} _{ub}}" loading="lazy"></span> are vectors of lower and upper bounds on the design variables. Maximization problems can be converted to minimization problems by multiplying the objective by -1. Constraints can be reversed in a similar manner. Equality constraints can be replaced by two inequality constraints.
</p>
<div class="mw-heading mw-heading2"><h2 id="Problem_solution">Problem solution</h2></div>
<p>The problem is normally solved using appropriate techniques from the field of optimization. These include <a href="Gradient" title="Gradient">gradient</a>-based algorithms, population-based algorithms, or others. Very simple problems can sometimes be expressed linearly; in that case the techniques of <a href="Linear_programming" title="Linear programming">linear programming</a> are applicable.
</p>
<div class="mw-heading mw-heading3"><h3 id="Gradient-based_methods_2">Gradient-based methods</h3></div>
<ul><li><a href="Adjoint_equation" title="Adjoint equation">Adjoint equation</a></li>
<li><a href="Newton's_method" title="Newton's method">Newton's method</a></li>
<li><a href="Steepest_descent" class="mw-redirect" title="Steepest descent">Steepest descent</a></li>
<li><a href="Conjugate_gradient" class="mw-redirect" title="Conjugate gradient">Conjugate gradient</a></li>
<li><a href="Sequential_quadratic_programming" title="Sequential quadratic programming">Sequential quadratic programming</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Gradient-free_methods">Gradient-free methods</h3></div>
<ul><li>Hooke-Jeeves pattern search</li>
<li><a href="Nelder-Mead_method" class="mw-redirect" title="Nelder-Mead method">Nelder-Mead method</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Population-based_methods">Population-based methods</h3></div>
<ul><li><a href="Genetic_algorithm" title="Genetic algorithm">Genetic algorithm</a></li>
<li><a href="Memetic_algorithm" title="Memetic algorithm">Memetic algorithm</a></li>
<li><a href="Particle_swarm_optimization" title="Particle swarm optimization">Particle swarm optimization</a></li>
<li><a href="Harmony_search" class="mw-redirect" title="Harmony search">Harmony search</a></li>
<li><a href="ODMA" title="ODMA">ODMA</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Other_methods">Other methods</h3></div>
<ul><li>Random search</li>
<li><a href="Grid_search" class="mw-redirect" title="Grid search">Grid search</a></li>
<li><a href="Simulated_annealing" title="Simulated annealing">Simulated annealing</a></li>
<li><a href="Brute-force_search" title="Brute-force search">Direct search</a></li>
<li><a href="IOSO" title="IOSO">IOSO</a> (Indirect Optimization based on Self-Organization)</li></ul>
<p>Most of these techniques require large numbers of evaluations of the objectives and the constraints. The disciplinary models are often very complex and can take significant amounts of time for a single evaluation. The solution can therefore be extremely time-consuming. Many of the optimization techniques are adaptable to <a href="Parallel_computing" title="Parallel computing">parallel computing</a>. Much current research is focused on methods of decreasing the required time.
</p><p>Also, no existing solution method is guaranteed to find the <a href="Global_optimization" title="Global optimization">global optimum</a> of a general problem (see <a href="No_free_lunch_in_search_and_optimization" title="No free lunch in search and optimization">No free lunch in search and optimization</a>). Gradient-based methods find local optima with high reliability but are normally unable to escape a local optimum. Stochastic methods, like simulated annealing and genetic algorithms, will find a good solution with high probability, but very little can be said about the mathematical properties of the solution. It is not guaranteed to even be a local optimum. These methods often find a different design each time they are run.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="List_of_optimization_software" title="List of optimization software">List of optimization software</a></li>
<li><a href="ModeFRONTIER" title="ModeFRONTIER">ModeFRONTIER</a></li>
<li><a href="PSeven" title="PSeven">pSeven</a></li>
<li><a href="ModelCenter" title="ModelCenter">ModelCenter</a></li>
<li><a href="OpenMDAO" title="OpenMDAO">OpenMDAO</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFVanderplaats1987" class="citation book cs1">Vanderplaats, G.N. (1987). "Numerical Optimization Techniques". In Mota Soares, C.A. (ed.). <i>Computer Aided Optimal Design: Structural and Mechanical Systems</i>. NATO ASI Series (Series F: Computer and Systems Sciences). Vol. 27. Berlin: Springer. pp. <span class="nowrap">197–</span>239. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-83051-8_5">10.1007/978-3-642-83051-8_5</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-83053-2</bdi>. <q>The first formal statement of nonlinear programming (numerical optimization) applied to structural design was offered by Schmit in 1960.</q></cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchmit1960" class="citation journal cs1">Schmit, L.A. (1960). "Structural Design by Systematic Synthesis". <i>Proceedings, 2nd Conference on Electronic Computations</i>. New York: ASCE: <span class="nowrap">105–</span>122.</cite></span>
</li>
<li id="cite_note-martins2013-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-martins2013_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartinsLambe2013" class="citation journal cs1">Martins, Joaquim R. R. A.; Lambe, Andrew B. (2013). <a rel="nofollow" class="external text" href="http://arc.aiaa.org/doi/full/10.2514/1.J051895">"Multidisciplinary design optimization: A Survey of architectures"</a>. <i>AIAA Journal</i>. <b>51</b> (9): <span class="nowrap">2049–</span>2075. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2013AIAAJ..51.2049M">2013AIAAJ..51.2049M</a>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.669.7076">10.1.1.669.7076</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2514%2F1.J051895">10.2514/1.J051895</a>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFBordleyPollock2009" class="citation journal cs1">Bordley, Robert F.; Pollock, Steven M. (September 2009). "A Decision Analytic Approach to Reliability-Based Design Optimization". <i>Operations Research</i>. <b>57</b> (5): <span class="nowrap">1262–</span>1270. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1287%2Fopre.1080.0661">10.1287/opre.1080.0661</a>.</cite></span>
</li>
<li id="cite_note-edo2021-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-edo2021_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartinsNing2021" class="citation book cs1">Martins, Joaquim R. R. A.; Ning, Andrew (2021-10-01). <a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/352413464"><i>Engineering Design Optimization</i></a>. Cambridge University Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1108833417</bdi>.</cite></span>
</li>
</ol></div></div>
<ul><li>Avriel, M., Rijckaert, M.J. and Wilde, D.J. (eds.), <i>Optimization and Design</i>, Prentice-Hall, 1973.</li>
<li>Avriel, M. and Dembo, R.S. (eds.), <i>Mathematical Programming Studies on Engineering Optimization</i>, North-Holland, 1979.</li>
<li>Cramer, E.J., Dennis Jr., J.E., Frank, P.D., Lewis, R.M., and Shubin, G.R., <i>Problem Formulation for Multidisciplinary Optimization</i>, SIAM J. Optim., 4 (4): 754–776, 1994.</li>
<li>Deb, K. "Current trends in evolutionary multi-objective optimization", Int. J. Simul. Multi. Design Optim., 1 1 (2007) 1–8.</li>
<li>Lambe, A. B. and Martins, J. R. R. A. "<a rel="nofollow" class="external text" href="http://mdolab.engin.umich.edu/content/extensions-design-structure-matrix">Extensions to the design structure matrix for the description of multidisciplinary design, analysis, and optimization processes</a>". Structural and Multidisciplinary Optimization, 46:273–284, August 2012. <a rel="nofollow" class="external text" href="https://link.springer.com/article/10.1007%2Fs00158-012-0763-y">doi:10.1007/s00158-012-0763-y</a>.</li>
<li>Siddall, J.N., <i>Optimal Engineering Design</i>, CRC, 1982.</li>
<li>Vanderplaats, G. N., <i>Multidiscipline Design Optimization</i>, Vanderplaatz R&D, Inc., 2007.</li>
<li>Viana, F.A.C., Simpson, T.W., Balabanov, V. and Toropov, V. "<a rel="nofollow" class="external text" href="http://arc.aiaa.org/doi/abs/10.2514/1.J052375">Metamodeling in multidisciplinary design optimization: How far have we really come?</a>" AIAA Journal 52 (4) 670–690, 2014 (DOI: 10.2514/1.J052375)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.ansys.com/products/connect/ansys-optislang">Ansys optiSLang</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-19" href="https://en.wikipedia.org/wiki/?title=Multidisciplinary_design_optimization&oldid=1291186737">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>